Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[Problem] Z pisaniem pluginów.


Rekomendowane odpowiedzi

Opublikowano

this.clearInvCommand = new ClearInvCommand(this);

Zamiast tego wpisz

 

getCommand("komenda").setExecutor(new klasa(this));

Oczywiście, musisz odpowiednio zastąpić elementy Komenda oraz klasa ;)

Nie zapomnij dodać też komendy do plugin.yml

733761405517115815990.png

"To, że milczę, nie znaczy, że nie mam nic do powiedzenia" ~Jonathan Carroll

Opublikowano

@Swiezu

zrobiłem tak jak kazałeś, wszystko pozamieniałem itp

i teraz jest taki błąd:

http://pastebin.com/G1syRM6C

chyba nawet jest taki sam  :unsure:.

@Edit

daje wam plugin.yml:

http://pastebin.com/c4qGLnHH

macie dl pluginu:

http://www.speedyshare.com/m7wJn/test.jar

skan:

https://www.virustotal.com/en/file/562aea1aaa0d7b74bb1c2261997ebaf91e92e7182549ed7e5162e089823797d3/analysis/1405455363/
Opublikowano

Dodaj @Override przed onCommand :)

Powinno to wyglądać tak:
 

       @Override
       public boolean onCommand(CommandSender sender, Command cmd, String cmdlabel, String[] args){
                if(cmd.getName().equalsIgnoreCase("ci")) {
                        sender.sendMessage("test");
                }
                return false;
        }

733761405517115815990.png

"To, że milczę, nie znaczy, że nie mam nic do powiedzenia" ~Jonathan Carroll

Opublikowano

@Swiezu własnie sprawdzam, zaraz dam edit.

Nadal błąd + to zmienione plugin świeci się na żółto.

public ClearInvCommand(test plugin) {
		plugin = plugin;
Opublikowano

Po pierwsze po co Ci  

if(cmd.getName().equalsIgnoreCase("ci")) {

jak piszesz już komendę w odzielnej klasie to tego nie potrzeba.

 

Po drugie nie zrobiłeś jednej rzeczy. Napisałeś

public class ClearInvCommand extends JavaPlugin{

zamiast 

public class info implements CommandExecutor {

Po trzecie poco Ci 

this.clearInvCommand = new ClearInvCommand(this);

jak możesz

getCommand("komenda").setExecutor(new klasa(this));

Oraz Swiezu po co @Override? Jak to nie event?

 

 

Pozdrawiam Mistrz.

|| 50 | 100 | 150 | 200 | 250 | 300 | 350 | 400 | 450 | 500 ||


 

Opublikowano

Może się troszeczkę wtrącę:

 


getCommand("komenda").setExecutor(new klasa(this));

Oraz Swiezu po co @Override? Jak to nie event?

 

Przy eventach używa się @EventHandler, a nie @Override (Master of Java, level 5).

 

 

Po trzecie poco Ci

this.clearInvCommand = new ClearInvCommand(this);

Żeby mógł pobierać klasę nie tylko z Maina ale też z innych klas.

Lepsze to niż robienie:

ClearInvCommand CIC = new ClearInvCommand(this.plugin);

prawda?

Opublikowano

@#e3uS Działa? Działa. Po ch*j drążyć temat xD

 

 

Co do pierwszego to się zgodzę mój błąd. 

|| 50 | 100 | 150 | 200 | 250 | 300 | 350 | 400 | 450 | 500 ||


 

Opublikowano

Może się troszeczkę wtrącę:

 

Przy eventach używa się @EventHandler, a nie @Override (Master of Java, level 5).

 

Żeby mógł pobierać klasę nie tylko z Maina ale też z innych klas.

Lepsze to niż robienie:

ClearInvCommand CIC = new ClearInvCommand(this.plugin);

prawda?

Ale ta klasa nigdy mu się nie przyda :D

 

A @Override powinno dawać się przy metodach które nadpisujemy.

 

@Mistrz25566

Nie ucz go pisania klas z małych liter...

To już jest koniec smerfa:


http://www.mpcforum.pl/topic/1323530-info-znikam/


GG: 48522543


PS: Na innych forach i stronach znajdziesz mnie pod nickiem: 


BukkitSmerf

Opublikowano

@Karolina_666 Tak wiem, że się powinno pisać z duzych liter. Tak jakoś poprostu napisałem na szybkiego z małych i wiesz jak to się pisze na tablecie to wiecie dużo błędów się natrafia :P

 

 

Pozdrawiam Mistrz.

|| 50 | 100 | 150 | 200 | 250 | 300 | 350 | 400 | 450 | 500 ||


 

Opublikowano

Ale ta klasa nigdy mu się nie przyda :D

 

A @Override powinno dawać się przy metodach które nadpisujemy.

 

@Mistrz25566

Nie ucz go pisania klas z małych liter...

Ale jest szansa, że się znajdzie klasa która ma np. ArrayListe to lepiej wtedy użyć tego sposobu niż robienie jakiegoś get albo zmienianie ArrayListy na statyczną.

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...